home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / allocate.aqm / allocate.asm
Assembly Source File  |  1985-11-22  |  1KB  |  68 lines

  1.     PAGE 55,132
  2. ;Program Name: ALLOCATE.ASM
  3. ;Author: William L. Colsher
  4. ;Date Written: May 19, 1984
  5. ;Purpose: This program creates a file and writes 5K nulls to it.
  6.  
  7. STACK    SEGMENT    PARA STACK 'STACK'
  8.     DB    64 DUP('STACK   ')
  9. STACK    ENDS
  10.  
  11. DATA    SEGMENT    PARA PUBLIC 'DATA'
  12.     
  13. FNAME    DB    'PREALLOC.DAT',0
  14. HANDLE    DW    0
  15. NULLS    DB    256 DUP(0)
  16. EOFMARK DB    1AH
  17. DATA    ENDS
  18.  
  19. CODE    SEGMENT    PARA PUBLIC 'CODE'
  20. ALLOCATE PROC    FAR
  21.     ASSUME    CS:CODE,DS:DATA,SS:STACK,ES:DATA
  22.  
  23. ;Establish DOS return and data addressability
  24.  
  25.     PUSH    DS
  26.     SUB    AX,AX
  27.     PUSH    AX
  28.     MOV    AX,DATA
  29.     MOV    DS,AX
  30.     MOV    ES,AX
  31.  
  32. ;Set up DOS call to create a new file
  33.  
  34.     MOV    AH,3CH        ;Create file 
  35.     MOV    DX,OFFSET FNAME
  36.     MOV    CX,0        ;Attribute
  37.     INT    21H        ;Do it!
  38.  
  39.     MOV    HANDLE,AX
  40.  
  41.  
  42. ;Now we'll write 5k of nulls to the file
  43.  
  44.     MOV    CX,20        ;Repeat count
  45.  
  46. MORE:    PUSH    CX        ;Save it
  47.     MOV    BX,HANDLE    ;File pointer
  48.     MOV    DX,OFFSET NULLS
  49.     MOV    CX,256        ;How namy
  50.     MOV    AH,40H        ;Function 'Write'
  51.     INT    21H
  52.     
  53.     POP    CX        ;Get back count
  54.     LOOP    MORE
  55.  
  56. ;Now we'll close the file
  57.  
  58.     MOV    BX,HANDLE
  59.     MOV    AH,3EH
  60.     INT    21H
  61.  
  62. ;And return to DOS
  63.  
  64.     RET
  65. ALLOCATE ENDP
  66. CODE    ENDS
  67.     END    ALLOCATE
  68.